1. Technical Field
One or more embodiments relate generally to systems and methods for assisting a user of a software application. More specifically, one or more embodiments relate to systems and methods of providing a new user of a software application with information for performing actions available within a user interface of a software application.
2. Background and Relevant Art
Software applications running on electronic or computing devices, including mobile devices (e.g., smart phones, tablets), each provide features and a user experience specific to the corresponding application. Separate applications typically have different visual layouts and frequently introduce different ways to perform actions as part of the user experience. For example, an application that allows a user to view various types of content (such as articles, pictures, etc.) may present the content in different ways and require different inputs and gestures for navigating the content than other applications.
Due to the layout and input differences in applications—even applications that provide similar content—the user experience may vary drastically across the different applications. Learning a new application may require users to learn new actions, settings, and gestures. Even changing from an application with which a user is familiar to a different application with similar content frequently results in the user needing to relearn how to navigate the similar content. As a result, some applications provide assistance (e.g., tips or instructions) to new users to aid the users in learning how to use the application. This process of assisting new users of an application is commonly referred to as “onboarding” users.
However, traditional methods of onboarding users suffer from a number of disadvantages. For example, some applications provide instructions for a multitude of features all at once when the user opens the application the first time, regardless of the user's experience with the application (e.g., from use of the application on another device) or the user's ability or desire to navigate the application without assistance. This may interrupt the normal user experience, may be disruptive or annoying to the user, especially if the user is already familiar with the application, and/or may fail to provide a user with the assistance that is most relevant to or needed by the user.
Accordingly, there are a number of considerations to be made in improving new user experiences within user interfaces.